package com.zmn.plat.model.entity.contract.record;

import com.zmn.common.utils.pager.Operator;
import lombok.*;

import java.math.BigInteger;
import java.util.Date;

/**
 * 合同表
 *
 * @author linfeng
 * @since 2020-05-09 11:41:45
 */
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ContractRecord extends Operator {
    private static final long serialVersionUID = 1L;

    /**
     * 合同id
     */
    private Integer contractId;
	/**
	 * 排序字段
	 */
	private Integer sort;
    /**
     * 合同编号
     */
    private String contractNo;
    /**
     * 合同名称
     */
    private String name;
    /**
     * 标的金额
     */
    private BigInteger subjectAmount;
    /**
     * 合同主体
     */
    private String subject;
    /**
     * 合同始期
     */
    private Date contractBeginDay;
    /**
     * 合同终期
     */
    private Date contractEndDay;
    /**
     * 1.采购,2.营销,3.劳务,4.推广
     */
    private Integer contractType;
    /**
     * 签订日期
     */
    private Date signDay;
    /**
     * 是否机密：1否，2是
     */
    private Integer secret;
    /**
     * 合同履行情况：1进行中，2已完成
     */
    private Integer performance;
    /**
     * 合同状态：1待签订，2执行中，3已中止，4已废弃，5已过期，6已归档
     */
    private Integer status;
    /**
     * 合同标的
     */
    private String contractObject;
    /**
     * 经办人
     */
    private Integer agent;
    /**
     * 经办人信息：姓名_手机号
     */
    private String agentStr;
    /**
     * 所属公司id
     */
    private Integer agentCompanyId;
    /**
     * 所属公司名称
     */
    private String agentCompanyName;
    /**
     * 一级部门ID
     */
    private Integer agentDeptOneId;
    /**
     * 一级部门名称
     */
    private String agentDeptOneName;
    /**
     * 二级部门ID
     */
    private Integer agentDeptTwoId;
    /**
     * 二级部门名称
     */
    private String agentDeptTwoName;
    /**
     * 是否设置到期预警：1否，2是
     */
    private Integer expirationAlert;
    /**
     * 第一次预警时间：距离结束日期前xx天
     */
    private Integer firstAlertDays;

    /**
     * 是否已经第一次预警：1否，2是
     */
    private Integer firstAlertStatus;

    /**
     * 第一次预警接收人1 员工ID
     */
    private Integer firstAlertReceiver1;
    /**
     * 第一次预警接收人2 员工ID
     */
    private Integer firstAlertReceiver2;
    /**
     * 第一次预警接收人3 员工ID
     */
    private Integer firstAlertReceiver3;
    /**
     * 第二次预警时间：距离结束日期前xx天
     */
    private Integer secondAlertDays;

    /**
     * 是否已经第二次预警：1否，2是
     */
    private Integer secondAlertStatus;

    /**
     * 第二次预警接收人1 员工ID
     */
    private Integer secondAlertReceiver1;
    /**
     * 第二次预警接收人2 员工ID
     */
    private Integer secondAlertReceiver2;
    /**
     * 第二次预警接收人3 员工ID
     */
    private Integer secondAlertReceiver3;
    /**
     * 是否设置过期预警：1否，2是
     */
    private Integer overdueAlert;

    /**
     * 是否已经过期预警：1否，2是
     */
    private Integer overdueAlertStatus;

    /**
     * 过期预警接收人1 员工ID
     */
    private Integer overdueAlertReceiver1;
    /**
     * 过期预警接收人2 员工ID
     */
    private Integer overdueAlertReceiver2;
    /**
     * 过期预警接收人3 员工ID
     */
    private Integer overdueAlertReceiver3;

    /**
     * 创建人
     */
    private String creater;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 更新人
     */
    private String updater;
    /**
     * 更新时间
     */
    private Date updateTime;

}
